home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Mousetools / PWKeys / PWkeys2.0.doc < prev    next >
Text File  |  1996-09-26  |  12KB  |  325 lines

  1.  
  2.                              //
  3.                          \\ // PWkeys V2.0
  4.                           \//
  5.  
  6.                                1991
  7.                                 by
  8.                           Preben Nielsen
  9.  
  10.  
  11. WHATS NEW
  12.  
  13.     Version 1.0/1.1 trashed low memory (oops). This version doesn't.
  14.  
  15.     Many functions and features have been added.
  16.  
  17.  
  18. WHAT IS PWKEYS ?
  19.  
  20.     PWkeys is an input-handler that allows you to manipulate windows and
  21.   screens by pressing keys on the keyboard. It also gives you screen and
  22.   mouse blanking, a sunmouse (automatic activation of windows when the
  23.   mouse moves into them), mouse acceleration and the opportunity to lock
  24.   the mouse and the keyboard so no-one can use it but you.
  25.  
  26. HOW TO START PWKEYS
  27.  
  28.     From CLI      : Type 'PWkeys' and press RETURN.
  29.                     There is NO need to use 'RUN', 'RUNBACK', 'ARUN' etc.
  30.                     PWkeys terminates immediately leaving only the handler
  31.                     in memory (only 2456 bytes).
  32.  
  33.                     To use other key-bindings than the default type:
  34.                     'PWkeys filename' where 'filename' is the name of
  35.                     a file created by the program SetPWkeys.
  36.  
  37.     From Workbench: Double-click on the PWkeys icon.
  38.  
  39.                     To use other key-bindings than the default you
  40.                     can do two thing:
  41.  
  42.                     1.
  43.                       a. Single-click on the PWkeys icon (its a Tool Icon)
  44.                       b. Select 'Info' from the 'Project' menu
  45.                       c. In the 'Tool Types' field write 'FILE=filename'
  46.                          where 'filename' is the name of a file created
  47.                          by the program SetPWkeys.
  48.  
  49.                     2.
  50.                       a. Create a Project icon
  51.                       b. Single-click on the the icon
  52.                       c. Select 'Info' from the 'Project' menu
  53.                       d. In the 'Tool Types' field write 'FILE=filename'
  54.                          where 'filename' is the name of a file created
  55.                          by the program SetPWkeys.
  56.                       e. In the 'Default Tool' field write the pathname
  57.                          of PWkeys program (e.g. 'SYS:utilties/PWkeys' if
  58.                          PWkeys is in the utilities drawer on SYS:
  59.  
  60.  
  61. HOW TO END PWKEYS
  62.  
  63.     To remove PWkeys simply
  64.     1. double-click its icon again
  65.      or
  66.     2. type 'PWkeys' RETURN in a CLI.
  67.  
  68.  
  69. WHAT CAN PWKEYS DO ?
  70.  
  71.  
  72.     PWkeys lets you perform 25 functions on windows, screens etc.
  73.   These functions are:
  74.  
  75.   Move-Window-To-Top-Of-Screen:        Moves the active window to the
  76.                     top of the screen.
  77.  
  78.   Move-Window-To-Bottom-Of-Screen:    Moves the active window to the
  79.                     bottom of the screen.
  80.  
  81.   Move-Window-To-Left-Side-Of-Screen:    Moves the active window to the
  82.                     left side of the screen.
  83.  
  84.   Move-Window-To-Right-Side-Of-Screen:    Moves the active window to the
  85.                     right side of the screen.
  86.  
  87.   Place-Window-In-Upper-Left-Corner-Of-Screen:
  88.                     Places the active window to the
  89.                     upper left corner of the screen.
  90.  
  91.   Place-Window-In-Lower-Left-Corner-Of-Screen:
  92.                     Places the active window to the
  93.                     lower left corner of the screen.
  94.  
  95.   Place-Window-In-Upper-Right-Corner-Of-Screen:
  96.                     Places the active window to the
  97.                     upper right corner of the screen.
  98.  
  99.   Place-Window-In-Lower-Right-Corner-Of-Screen:
  100.                     Places the active window to the
  101.                     lower left corner of the screen.
  102.  
  103.   Place-Window-In-Center-Of-Screen:    Places the active window in the
  104.                     center of the screen.
  105.  
  106.   Move-Window-To-Front:            Moves the active window in front
  107.                     of all others on the screen>
  108.  
  109.   Move_Window-To-Back:            Moves the active window behind all
  110.                     others on the screen.
  111.  
  112.   Move-Backmost-Window-To-Front:    Moves the backmost window to the
  113.                     front and activates it.
  114.  
  115.   Move-Frontmost-Window-To-Back:    Moves the frontmost window to the
  116.                     back and activates the new frontmost
  117.                     window.
  118.  
  119.   Activate-Previous-Window:        Activates the window behind the
  120.                     currently-active one.
  121.  
  122.   Activate-Next-Window:            Activates the window above the
  123.                     currently-active one.
  124.  
  125.   Minimize-Window:            Minimizes the active window IF
  126.                     it has a SIZING-gadget.
  127.  
  128.   Maximize-Window:            Maximizes the active window IF
  129.                     it has a SIZING-gadget.
  130.  
  131.   Refresh-Window:            Refreshes the frame and all
  132.                     gadgets in the active window.
  133.  
  134.   Move-Backmost-Screen-To-Front:    Moves the backmost screen to the
  135.                     front and activates it's topmost
  136.                     window.
  137.  
  138.   Move-Frontmost-Screen-To-Back:    Moves the frontmost screen to the
  139.                     back and activates the topmost window
  140.                     on the new frontmost screen.
  141.  
  142.   Subtract-Bitplane-From-Screen:    Subtracts a bitplane from the active
  143.                     screen. It won't touch HAM-screens,
  144.                     and EHB-screens won't be EHB-screens
  145.                     after this. You should be careful with
  146.                     this function. Using it on a screen
  147.                     belonging to a program which draws
  148.                     directly into the bitplanes is a fast
  149.                     way to recieve a visit from a certain
  150.                     man from India (The Guru !!).
  151.  
  152.   Add-Bitplane-To-Screen:        Adds a bitplane to the active screen
  153.                     if there is enough CHIP-memory.
  154.                     HIRES-screens can get a maximum of 4
  155.                     bitplanes. LORES-screens can get a
  156.                     maximum of 6 bitplanes (6 bitplanes by
  157.                     forcing the screen into EHB mode).
  158.  
  159.   Toggle-Input-Lock:            This functions toggles between the
  160.                     normal state of the machine, and a
  161.                     state where the screen blanks and
  162.                     mouse and keyboard goes dead. This
  163.                     is useful when you have to leave
  164.                     your Amiga turned on (while ray-
  165.                     tracing ?) but don't want anyone (not
  166.                     even your cat) to take advantage of
  167.                     your absence. The only way to get
  168.                     back to normal is to reset the Amiga
  169.                     (a bit drastic ?) or once more press
  170.                     the key-combination that activates this
  171.                     function (don't tell your cat which
  172.                     key-combination).
  173.  
  174.   Toggle-Fast-Mouse:            This function turns the acceleration
  175.                     of mouse-movements on/off. The speed
  176.                     and sensitivity can be specified using
  177.                     the program SetPWkeys.
  178.  
  179.   Toggle-Sun-Mouse:            This function turns the Sun-mouse
  180.                     on/off. That the sunmouse is turned
  181.                     on means that windows activate when
  182.                     you move the mouse into them. You
  183.                     don't have to click the mouse in the
  184.                     window to activate them.
  185.  
  186.  NOTE:    Mouse acceleration and sunmouse is disabled while you are pressing
  187.     any of the mouse buttons.
  188.  
  189.  
  190.   By default PWkeys binds the functions to the following hotkeys:
  191.  
  192.   LSHIFT-LAMIGA-KP1       : Place-Window-In-Upper-Left-Corner-Of-Screen
  193.   LSHIFT-LAMIGA-KP2       : Move-Window-To-Bottom-Of-Screen
  194.   LSHIFT-LAMIGA-KP3       : Place-Window-In-Lower-Right-Corner-Of-Screen
  195.   LSHIFT-LAMIGA-KP4       : Move-Window-To-Left-Side-Of-Screen
  196.   LSHIFT-LAMIGA-KP5       : Place-Window-In-Center-Of-Screen
  197.   LSHIFT-LAMIGA-KP6       : Move-Window-To-Right-Side-Of-Screen
  198.   LSHIFT-LAMIGA-KP7       : Place-Window-In-Upper-Left-Corner-Of-Screen
  199.   LSHIFT-LAMIGA-KP8       : Move-Window-To-Top-Of-Screen
  200.   LSHIFT-LAMIGA-KP9       : Place-Window-In-Upper-Right-Corner-Of-Screen
  201.   LSHIFT LAMIGA-LEFTARROW : Activate-Previous-Window
  202.   LSHIFT LAMIGE-RIGHTARROW: Activate-Next-Window
  203.   LSHIFT-LAMIGA-DOWNARROW : Move-Window-To-Front
  204.   LSHIFT-LAMIGA-UPARROW   : Move-Window-To-Back
  205.   LSHIFT-LAMIGA-TAB       : Refresh-Window
  206.   LSHIFT-LAMIGA-F1        : Minimize-Window
  207.   LSHIFT-LAMIGA-F2        : Maximize-Window
  208.   LAMIGA-DOWNARROW        : Move-Backmost-Window-To-Front
  209.   LAMIGA-UPARROW          : Move-Frontmost-Window-To-Back
  210.  
  211.   RSHIFT-RAMIGA-DOWNARROW : Move-Backmost-Screen-To-Front
  212.   RSHIFT-RAMIGA-UPARROW   : Move-Frontmost-Screen-To-Back
  213.   RSHIFT-RAMIGA-F9        : Subtract-Bitplane-From-Screen
  214.   RSHIFT-RAMIGA-F10       : Add-Bitplane-To-Screen
  215.  
  216.   LAMIGA-RAMIGA-BACKSPACE : Toggle-Input-Lock
  217.   LAMIGA-RAMIGA-DEL       : Toggle-Fast-Mouse
  218.   LAMIGA-RAMIGA-HELP      : Toggle-Sun-Mouse
  219.  
  220.  where
  221.  
  222.   LAMIGA     means the left Amiga/Command key
  223.   RAMIGA     means the right Amiga/Command key
  224.   LSHIFT     means the left 'SHIFT' key
  225.   RSHIFT     means the right 'SHIFT' key
  226.   HELP       means the 'HELP' key
  227.   DEL        means the 'DEL' key
  228.   BACKSPACE  means the '<-' backspace key
  229.   TAB        means the '->|' tabulator key
  230.   KP1        means '1' on the numeric keyboard
  231.   KP2        means '2' on the numeric keyboard
  232.   KP3        means '3' on the numeric keyboard
  233.   KP4        means '4' on the numeric keyboard
  234.   KP5        means '5' on the numeric keyboard
  235.   KP6        means '6' on the numeric keyboard
  236.   KP7        means '7' on the numeric keyboard
  237.   KP8        means '8' on the numeric keyboard
  238.   KP9        means '9' on the numeric keyboard
  239.   F1         means the 'F1' key
  240.   F2         means the 'F2' key
  241.   F9         means the 'F9' key
  242.   F10        means the 'F10' key
  243.   UPARROW    means the arrow-up key
  244.   DOWNARROW  means the arrow-down key
  245.   RIGHTARROW means the arrow-right key
  246.   LEFTARROW  means the arrow-left key
  247.  
  248.  
  249.     To overwrite the default bindings above, use the program SetPWkeys
  250.   which will let you bind each of the 25 function to any key-combination
  251.   you may prefer.
  252.  
  253.     Besides the functions mentioned above which can all be activated by
  254.   hotkeys, PWkeys also gives you mouse and screen blanking. Mouse blanking
  255.   means that the mouse-pointer disappears if you haven't used it for a while.
  256.   the mouse-pointer re-appears as soon as you move or click the mouse. Screen
  257.   blanking means that the monitor goes black if you haven't used the mouse or
  258.   the keyboard for a certain period of time. This is done to prevent burning
  259.   the picture into the monitor. To break screen blanking, you only have to
  260.   move the mouse or press any key on the keyboard (the event won't be lost).
  261.   The program SetPWkeys allows you to specify the time PWkeys should wait
  262.   before blanking.
  263.  
  264.  
  265. WHY DOESN'T IT SOMETIMES WORK ?
  266.  
  267.   1.  Intuition will not let you manipulate screens and windows in
  268.       any way if the active window has an active gadget in it (especially
  269.       string-gadgets), so in these cases PWkeys won't try to do anything.
  270.  
  271.   2.  PWkeys won't try to MOVE backdrop-windows
  272.  
  273.  
  274. HOW DOES PWKEYS WORK ?
  275.  
  276.      PWkeys works by installing an input-handler at priority 51 (default).
  277.   The fact that PWkeys does a lot of Intuition-calls from the input.device's
  278.   task might seem risky, but because I don't try to call Intuition while
  279.   gadgets are active, I haven't experienced any lock-ups. I therefore don't
  280.   see any need to run PWkeys as an indepentent task, but if anyone has
  281.   experienced any problems then let me know.
  282.  
  283.      PWkeys uses persistent blanking; if the screen or mouse blanking is
  284.   being broken by Intuition or some other program (by calls to SetPointer,
  285.   OpenScreen etc.), then PWkeys will blank again as soon as it finds out.
  286.  
  287.   NOTE ON BLANKING: Screen-blanking is not done by opening a black screen.
  288.                     Instead I temporarely replace the active views copper-
  289.                     list  with a copper list that ensures a black display,
  290.                     then I turn of the raster-DMA and restore the original
  291.                     copper-list. This method has the advantage that doesn't
  292.                     de-active the active window and doesn't use any extra
  293.                     memory. Mouse-blanking is done by assigning an invisible
  294.                     image to sprite 0, and not by turning of the sprite-DMA.
  295.                     
  296.  
  297. FUTURE FEATURES:
  298.  
  299.  » More functions.
  300.  
  301.  » The ability to bind a function to more than one key-definition. This
  302.    would allow something like SHIFT-UPARROW (i.e. the ability to activate
  303.    a function by pressing either LSHIFT-UPARROW or RSHIFT-UPARROW). It is
  304.    actually not PWkeys fault that this is not currently possible. SetPWkeys
  305.    is to blame for this.
  306.  
  307.  
  308. CREDITS:
  309.  
  310.     Davide P. Cervone for his wKeys from Fisk-disk 128.
  311.     Matt Dillon for DMouse which showed me how to implement mouse-blanking
  312.                 and a SunMouse.
  313.  
  314. =====================================================================
  315.    Send bug-reports, suggestions, comments etc. to:
  316.  
  317.         ///
  318.        ///  Preben Nielsen
  319.  \\\  ///  Oehlenschlægersgade 72 st. T.V.
  320.   \\\///  1663 Copenhagen V.
  321.    \///  Denmark
  322.  
  323.    I would also like to hear from you if you actually use PWkeys/SetPWkeys.
  324.  
  325.